perm filename RADIAL.SAI[1,VDS] blob sn#010362 filedate 1970-07-31 generic text, type T, neo UTF8
00100	BEGIN "RADIAL"
00200	FORTRAN REAL PROCEDURE SIN(REAL X);
00300	FORTRAN REAL PROCEDURE COS(REAL X);
00400	FORTRAN PROCEDURE PLOTS(BOOLEAN FLAG);
00500	FORTRAN PROCEDURE PLOT(INTEGER X,Y;INTEGER PEN);
00600	DEFINE PI="3.1415926535",CRLF="'15&'12",
00700		INREAL(A)="BEGIN OUTSTR(""A""&""="");
00800			BUF←INCHWL;A←REALSCAN(BUF,BREAK) END";
00900	
01000	INTEGER I,TICS,ERR,BREAK,BUFSIZ; REAL SN,CS,ANG,RAD,TICSIZ,RESO; STRING BUF;
01100	
01200	INREAL(RAD); INREAL(TICSIZ); INREAL(RESO);
01300	TICS←1000*2*PI/(RESO); CS←1; SN←0;
01400	BEGIN "PLOTBLK" INTEGER ARRAY PLTBUF[1:BUFSIZ←(2*TICS+20)];
01500	
01600	PROCEDURE PLOT_TICS(REAL RAD,TICSIZ,RESO); COMMENT PLOTS OUT TICS ON PLOTTER;
01700		BEGIN DEFINE AVECT(X,Y)="PLOT(200*X,200*Y,2)",AIVECT(X,Y)="PLOT(200*X,200*Y,3)",
01800			PAUSE="DUM←INCHWL"; BOOLEAN FLAG; LABEL PL; STRING DUM;
01850	
01900		EXTERNAL INTEGER JOBFF; INTEGER ARRAY PLTBUF[1:2000];
02000	PL:	JOBFF←CODE('201040000000,PLTBUF[1]); PLOTS(FLAG);
02100		IF FLAG THEN BEGIN OUTSTR("PLOTTER OK?..CR TO CONT");PAUSE;GO PL END;
02200		JOBFF←-1;
02300		AIVECT(0,.5);AVECT(0,-.5);AIVECT(-.5,0);AVECT(.5,0);AIVECT(RAD,0);
02400		FOR I←1 STEP 1 UNTIL TICS DO BEGIN ANG←I*RESO/1000;
02500			AVECT("(RAD-TICSIZ)*CS","(RAD-TICSIZ)*SN");
02600			CS←COS(ANG); SN←SIN(ANG); AIVECT(RAD*CS,RAD*SN) END;
02700		END "PLOT_TICS";
02800	
02900	OUTSTR(CRLF&"TICS="&CVS(TICS)&"	BUFSIZ="&CVS(BUFSIZ)&"WORDS"&CRLF);
03000	PLOT_TICS(RAD,TICSIZ,RESO);
03100	END "PLOTBLK"; END "RADIAL";